package com.taptech.doufu.ui.dialog;

import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.widget.TextView;

import com.taptech.doufu.R;
import com.taptech.doufu.constant.Constant;
import com.taptech.doufu.ui.activity.BrowseSimpleActivity;
import com.taptech.doufu.util.sp.DiaoBaoSharedPreferences;

import androidx.annotation.NonNull;

/**
 * Created by Wyatt on 2017/9/18/018.
 */

public class PrivacyDialog extends Dialog{
    private TextView tvBtnCancel,tvBtnSure,tvContent;
    private Context context;
    private OnClickListener onClickListener;
    public PrivacyDialog(@NonNull Context context, int theme) {
        super(context,theme);
        this.context = context;
    }

    public interface OnClickListener {
        void onClickSure();
        void onClickCancel();
    }

    public void setOnClickListener(OnClickListener onClickListener) {
        this.onClickListener = onClickListener;
    }



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_privacy);
        tvBtnCancel = (TextView) findViewById(R.id.tvBtnCancel);
        tvBtnSure = (TextView) findViewById(R.id.tvBtnSure);
        tvContent = (TextView) findViewById(R.id.tvContent);
        setCanceledOnTouchOutside(false);


        ClickableSpan clickableSpan= new ClickableSpan(){
            @Override
            public void onClick(@NonNull View widget) {
                Intent intent = new Intent();
                intent.setClass(context, BrowseSimpleActivity.class);
                intent.putExtra(Constant.URL, "https://api.doufu.douhuayuedu.com/journal/detail?id=794");
                context.startActivity(intent);
            }
        };

        ClickableSpan clickableSpan2= new ClickableSpan(){
            @Override
            public void onClick(@NonNull View widget) {
                Intent intent = new Intent();
                intent.setClass(context, BrowseSimpleActivity.class);
                intent.putExtra(Constant.URL, "https://api.doufu.douhuayuedu.com/journal/detail?id=793");
                context.startActivity(intent);
            }
        };
                String content ="请您务必审慎阅读、充分理解“用户协议”和“隐私政策”各条款，包括但不限于：\n" +
                "1、为帮助您搜索、浏览、阅读、收藏作品、购买产品服务等核心功能及服务，\n" +
                "我们会收集您的部分必要信息；\n" +
                "2、为提供上述服务，我们可能会收集设备IMEI、IMSI、Android ID、Mac地址、应用列表信息、地理位置、储存权限、摄像头等敏感信\n" +
                "息，您有权拒绝或撤回授权；\n" +
                "3、未经您同意，我们不会从第三方获取、共享或对外提供您的信息。\n" +
                "4、为确保本应用处于关闭或后台运行状态下可正常接收到客户端推送的广播信息，本应用须使用(自启动)能力，将存在一定频率通过系统发送广播唤醒本应用自启动或关联启动行为，是因实现功能及服务所必要的。"+
                 "您可以阅读《用户协议》，《隐私政策》了解详细信息。如您同意请点击“同意”开始接受我们的服务。\n"
                ;

        int start = content.indexOf("《用户协议》");
        int end = start+6;
        int start2 = content.indexOf("《隐私政策》");
        int end2 = start2+6;
        SpannableStringBuilder style = new SpannableStringBuilder();
        style.append(content);
        style.setSpan(clickableSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        style.setSpan(clickableSpan2, start2, end2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        tvContent.setText(style);

        //设置部分文字颜色
//        ForegroundColorSpan foregroundColorSpan1 = new ForegroundColorSpan(Color.parseColor("#0778b9"));
//        style.setSpan(foregroundColorSpan1, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置光标如何移动计量的方法
        tvContent.setMovementMethod(LinkMovementMethod.getInstance());
        //配置给TextView
        tvContent.setText(style);

        tvBtnCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (onClickListener != null) {
                    onClickListener.onClickCancel();
                }
                dismiss();
            }
        });
        tvBtnSure.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DiaoBaoSharedPreferences.setSharedPreferencesValueToBoolean("privacy_dialog",false,context);
                if (onClickListener != null) {
                    onClickListener.onClickSure();
                }
                dismiss();
            }
        });
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        if (onClickListener != null) {
            onClickListener.onClickCancel();
        }
    }
}
